package com.chzu.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.chzu.pojo.SysMenu;
import com.chzu.pojo.SysPermission;
import com.github.pagehelper.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Author lz
 * @Version 1.0
 * @Company 滁州大健康与养老产业研究院
 * @ClassName SysMenuMapper
 * @Description TODO
 * @Date 2022/01/27 15:05
 */
public interface SysMenuMapper extends BaseMapper<SysMenu> {

    /**
     *  添加菜单信息
     * @param menu 菜单
     */
    void insertMenu(SysMenu menu);

    /**
     *  更新菜单信息
     * @param menu 菜单
     */
    void updateMenu(SysMenu menu);

    /**
     *  删除菜单信息
     * @param id 权限id
     */
    void deleteMenu(@Param("id") Integer id);

    /**
     *  查询菜单信息
     * @param queryString
     */
    Page<SysMenu> findMenu(@Param("queryString") String queryString);

    /**
     * 查询所有父级菜单
     * @return
     */
    List<SysMenu> findParent();

    /**
     * 根据角色id查询菜单
     * @param id 角色id
     * @return
     */
    List<SysMenu> findByRoleId(@Param("id") Integer id);

    /**
     * 根据角色id和父id查询子菜单
     * @param parentId 父id
     * @param roleId 角色id
     * @return
     */
    List<SysMenu> findByRoleIdAndParentId(@Param("parentId") Integer parentId, @Param("roleId") Integer roleId);

    /**
     *  根据角色id删除菜单信息
     * @param roleId 角色id
     */
    void deleteByRoleId(@Param("roleId") Integer roleId);
}
